package cn.db101.api.complex.api.weather.gaode

import com.fasterxml.jackson.annotation.JsonSetter

/**
 * @author zooy
 * @since 2024/11/11-15:12
 */
class GaoDeFutureResponse {

    val status: String = "1"

    val count: Int? = null

    val info: String? = null

    val infocode: String? = null

    val lives: List<Live>? = null

    val forecasts: List<Forecast>? = null

    class Live {

        /**
         * 省份名
         */
        val province: String? = null

        /**
         * 城市名
         */
        val city: String? = null

        /**
         * 区域编码
         */
        val adcode: String? = null

        /**
         * 天气现象（汉字描述）
         */
        val weather: String? = null

        /**
         * 实时气温，单位：摄氏度
         */
        val temperature: String? = null

        /**
         * 风向描述
         */
        val winddirection: String? = null

        /**
         * 风力级别，单位：级
         */
        val windpower: String? = null

        /**
         * 空气湿度
         */
        val humidity: String? = null

        /**
         * 数据发布的时间
         */
        val reporttime: String? = null
    }

    class Forecast {

        /**
         * 省份名
         */
        val province: String? = null

        /**
         * 城市名
         */
        val city: String? = null

        /**
         * 区域编码
         */
        val adcode: String? = null

        /**
         * 数据发布的时间
         */
        val reporttime: String? = null

        /**
         * 预报数据 list 结构，元素 cast,按顺序为当天、第二天、第三天的预报数据
         */
        val casts: List<Cast>? = null

    }

    class Cast {

        /**
         * 日期（该城市的本地时间）
         */
        var date: String? = null

        /**
         * 星期几
         */
        val week: String? = null

        /**
         * 白天天气现象文字
         */
        val dayweather: String? = null

        /**
         * 晚上天气现象
         */
        val nightweather: String? = null

        /**
         * 白天温度
         */
        val daytemp: String? = null

        /**
         * 晚上温度
         */
        val nighttemp: String? = null

        /**
         * 白天风向
         */
        val daywind: String? = null

        /**
         * 晚上风向
         */
        val nightwind: String? = null

        /**
         * 白天风力
         */
        val daypower: String? = null

        /**
         * 晚上风力
         */
        val nightpower: String? = null

    }

}
